package twoD.IsoPfem.Plasticity.J2PlaneStress;

import twoD.IsoPfem.Plasticity.IHardeningLaw;

public class HughesIsotropicHardeningLaw implements IHardeningLaw {

	private double sigmaY_;
	private double Hbar_;
	private double theta_;

	public HughesIsotropicHardeningLaw(double sigmaY_, double hbar_,
			double theta_) {
		this.sigmaY_ = sigmaY_;
		Hbar_ = hbar_;
		this.theta_ = theta_;
	}

	@Override
	public double valueAt(double alpha_) {
		return sigmaY_ + theta_ * Hbar_ * alpha_;
	}

	@Override
	public double derivativeAt(double alpha_) {
		return theta_ * Hbar_;
	}
}
